Methods and apparatus to provide an electronic agent

ABSTRACT

Methods and apparatus to provide an electronic agent are disclosed. An example apparatus includes a media receiver to receive media to present via a display device. A media monitor is to determine an identity of the media. A keyword handler is to, in response to identity of the media, retrieve a list including a keyword associated with the identified media. The keyword handler is to access a first database using the keyword to retrieve an advertisement associated with the keyword. An agent generator is to present an interactive electronic agent on the display device to present the advertisement. The presentation of the interactive electronic agent including presentation of spoken audio corresponding to text presented on the display device.

RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.15/940,538, filed on Mar. 29, 2018, now U.S. Pat. No. 10,832,259, whichis a continuation of U.S. patent application Ser. No. 11/426,206, filedon Jun. 23, 2006, now U.S. Pat. No. 9,940,626, both of which are hereinincorporated by reference in their entirety.

FIELD OF THE DISCLOSURE

The present disclosure relates generally to media systems and, moreparticularly, to methods and apparatus to provide an electronic agent.

BACKGROUND

Interactive television services enable consumers to be more closelyinvolved in the television consumption experience. In general,interactive television services enable two-way communication with aconsumer location (e.g., a household). For example, interactivetelevision services enable a consumer to request information and tosubmit information from/to an interactive television distributionnetwork. One implementation of an interactive television service is aninternet protocol television (IPTV) service.

IPTV services provide television media content over a broadband network.In general, an IPTV provider receives media content from media contentcreators. The IPTV provider converts the media content into packetizeddigital media streams. The packetized digital media streams aredistributed to consumer locations via an internet protocol (IP)multicast or an IP unicast. The consumer location includes a consumerdevice that receives the packetized digital media streams and convertsthe streams into media content suitable for display on a display devicesuch as a television or computer. Because the consumer devicecommunicates with the IPTV provider over an IP connection, the consumerdevice can easily transmit data back to the IPTV provider. In otherwords, the IPTV provider and the consumer device can engage in two-waycommunication.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example system for providing anelectronic agent.

FIG. 2 is a block diagram of an example implementation of the receiver104 of FIG. 1

FIG. 3 is an illustration of an example television displaying mediacontent with electronic agent information overlaid.

FIG. 4 is a flowchart representative of example machine readableinstructions for implementing the receiver of FIG. 1.

FIG. 5 is a flowchart representative of example machine readableinstructions for implementing the receiver of FIG. 1.

FIG. 6 is a flowchart representative of example machine readableinstructions for implementing the content distributor of FIG. 1.

FIG. 7 is a flowchart representative of example machine readableinstructions for implementing the content distributor of FIG. 1.

FIG. 8 is a flowchart representative of example machine readableinstructions for implementing the content distributor of FIG. 1.

FIG. 9 is an example processor system that may execute the machinereadable instructions represented by FIGS. 4-6 to implement the examplemethods and apparatus described herein.

DETAILED DESCRIPTION

Methods and apparatus to provide an electronic agent in atelecommunication system are described herein. An example methodincludes receiving an interactive television program via a network at afirst information presenting device (e.g., a television receiver, settop box, etc.), accessing a list of keywords associated with theinteractive program via the network (e.g., a television network, theInternet, etc.), accessing a first database using at least one of thekeywords, and presenting an electronic agent on the first informationpresenting device (e.g., a television, a computer, etc.) to at least oneof present information retrieved from the first database or offer toretrieve information identified via the first database.

An example system 100 for providing an electronic agent is illustratedin FIG. 1. In general, the example methods and apparatus describedherein may be used to provide an electronic agent to a media contentconsumer. In some example implementations, an electronic agent is ananimated character displayed on a television screen that interacts witha consumer. An example consumer location includes an informationpresenting device (e.g., a receiver and/or a display device) thatreceives media content from a network and displays the media content ona television at the consumer location. While receiving media content,the example receiver determines the identity of the media content andrequests information from the example network. The network includes oneor more database(s) that include(s) information associated with themedia content. The network retrieves the information associated with themedia content and transmits it to the receiver at the consumer location.The example receiver receives the information and generates an animatedcharacter that includes the information. For example, the animatedcharacter may include a speech bubble that includes the receivedinformation. The information may be informational, may allow theconsumer to submit input, and/or may allow the consumer to requestfurther information. Alternatively, any other device attached to thenetwork may be responsible for generating the animated character andtransmitting the animated character to the information presentingdevice.

The example system 100 includes a display device 102, a receiver 104, anetwork 106, a content distributor 108, a chat controller 110, a chatdatabase 112, a content information database 114, a supplementaldatabase 116, and a customer profile database 118.

The display device 102 of the illustrated example displays media contentreceived from the receiver 104. The example display device 102 of theillustrated example may be implemented by any type of television suchas, for example, a standard definition television, an enhanceddefinition television, a high-definition television, a cathode ray tube(CRT) television, a liquid crystal display (LCD) television, a plasmatelevision, a projection television, an organic light emitting diode(OLED) television, a surface-conduction electron-emitter display (SED)television, etc. Alternatively, the display device 102 may beimplemented by any other device that is capable of receiving andpresenting media content such as, for example, any type of radioreceiver/player, a projector, a monitor, a computer, a portable mediaplayer (e.g., an iPod®), a desktop computer, a laptop computer, etc.

The receiver 104 of the illustrated example is an information presentingdevice that receives media content from the network 106 and outputs themedia content to the display device 102. For example, a consumer mayrequest (via a remote control) that the receiver 104 output the contentcurrently presented on a specific channel (e.g., the Home Box Office(HBO®) channel). The receiver 104 will send a message (via a networkinterface) to the network 106 requesting that the network 106 send, forexample, the HBO media content stream to the receiver 104 or allow thereceiver 104 to connect to the HBO media content stream. When thereceiver 104 of the illustrated example receives the HBO media contentstream, the receiver 104 outputs the HBO media content stream to thedisplay device 102. Alternatively, if the receiver 104 receivesbroadcast media content (e.g., a cable television broadcast), thereceiver 104 of the illustrated example uses tuning circuitry to extractthe HBO media content from the broadcast media content and output theHBO media content to the display device 102. The receiver 104 issometimes referred to as a set-top-box (STB), a residential gateway(RG), an integrated receiver/decoder (IRD), or a tuner. The receiver 104may alternatively be integrated in the display device 102 and/or thedisplay device 102 may include a card-slot for receiving a card thatimplements the receiver 102. The receiver 104 may include conditionalaccess circuitry to control access to media content (e.g., paid orsubscription media content).

In addition to receiving and displaying media content, the receiver 104is also configured to generate an electronic agent and output it fordisplay on the display device 102. The electronic agent presentsinformation to consumers and/or requests information from one or moreconsumers viewing the display of the display device 102. Electronicagents are sometimes referred to as avatars. In one example, theelectronic agent is an animated character (e.g., a person, an animal, ananimated object, etc.) Alternatively, the electronic agent may be one ormore of displayed text, presented audio, displayed graphics, etc. In theillustrated example, to enable the agent to present instructions on thedisplay device 102, the receiver retrieves and/or receives informationfrom data sources available on the network 106. In particular, thereceiver receives information from one or more of the chat database 112(via the chat controller 110), the content database 114, thesupplemental database 116, and/or the customer profile database 118. Inalternative implementations, the receiver may additionally oralternatively receive and/or retrieve information from any availabledata source such as, for example, a data source located on the internet,an output stream of a software application, a data source located on aprivate network, a user input stream, a data source located on thereceiver 104 (e.g., a database of user input information), etc. Thereceiver 104 is described in further detail in conjunction with FIG. 2.

The network 106 of the illustrated example is a network associated withan interactive television content distributor. For example, the examplenetwork 106 may be an internet protocol television (IPTV) network. Theexample network 106 facilitates communication between the receiver 104and the content distributor 108, the chat controller 110, the chatdatabase 112, the content information database 114, the supplementaldatabase 116, and/or the customer profile database 118. In theillustrated example, the example network 106 includes a digitalsubscriber line (DSL) access module (DSLAM) for communicating with aresidential gateway (RG) at a consumer location. The RG iscommunicatively coupled to the receiver 104. The example receiver 104sends a request for media content to the network 106 via the RG and theDSLAM. The example network 106 receives the request and allows thereceiver 104 to join a multicast stream of media content transmitted tothe network 106 from the content distributor 108. Persons of ordinaryskill in the art will recognize that the network 106 may alternativelybe implemented as any other type of communication network such as, forexample, a cable television distribution network, a satellitedistribution television network, a radio distribution network, awireless communication network, a wired communication network, a widearea network, a local area network, a public network, a private network,etc. In addition, the network 106 may comprise a combination of two ormore communication networks (e.g., a public network and an IPTVdistribution network).

The content distributor 108 of the illustrated example is an interactivemedia content distribution system. The example content distributor 108receives media content from media content creators/producers (e.g., theHBO television network), processes the media content, and transmits themedia content to the receiver 104 for display on the display device 102.The content distributor 108 may be any type of media content distributorsuch as, for example, an IPTV content distributor, a cable televisioncontent distributor, a satellite television content distributor, a radiocontent distributor, an internet media distributor, etc. In addition,the content distributor 108 may receive media content from any availablesource including locally produced media content (e.g., a video camera, amicrophone, a computer, etc. located at the content distributor) and aexternally produced media content.

The chat controller 110 of the illustrated example facilitatescommunication between two or more consumers. In the illustrated example,the chat controller 110 allows a first consumer using the receiver 104to provide information to authenticate the identity of the firstconsumer. In addition, the chat controller 110 is capable of determiningif two consumers are consuming the same media content (e.g., byreceiving consumption information from the content distributor 108). Thechat controller 110 may additionally store the information about chatcommunications such as, for example, the content of conversationsbetween two or more consumers.

For example, the receiver 104 sends username and password informationassociated with the first consumer to the chat controller 110. Then, theexample receiver 104 sends a query to the example chat controller 110 todetermine if any other person (e.g., a second consumer) is consumingmedia content associated with media content currently being consumed atthe receiver 104 by the first consumer. The chat controller 110determines if the second consumer (e.g., a consumer identified by thereceiver 104 or a consumer associated with the first consumer in thechat database 112) is consuming media content associated with the mediacontent currently being consumed by the first consumer. If the chatcontroller 110 indicates that the second consumer is consuming mediacontent associated with media content being consumed by the firstconsumer, the consumer is notified to enable the consumer to cause thereceiver 104 to request that a chat session between the first consumerand the second consumer be initiated by the chat controller 110. Theexample chat controller responds to such a request by initiating a chatconnection between the first consumer and the second consumer and/or byproviding information (e.g., a network address of the second consumer)to the receiver 104 to enable the receiver 104 to initiate a chatconnection (e.g., a direct connection). The second consumer may beanother consumer connected to the network 106 or may be a consumerconnected to another network. The second consumer may be authenticatedwith the chat controller 110 and/or the chat controller 110 may beassociated with another chat controller/server, which authenticates thesecond consumer. While the second consumer of the illustrated example isa consumer identified by the receiver 104 and/or associated with thefirst consumer, the second consumer may alternatively be any availableconsumer (e.g., an “unknown” consumer that the first consumer has notcommunicated with in the past). The media content consumed by the secondconsumer and associated with the media content consumed by the firstconsumer may be the same or substantially the same media content and/ormay have the same or substantially the same common actor(s)/actress(es),character(s), producer(s), plot, starting time, ending time, keyword(s),etc.

The chat database 112 of the illustrated example is communicativelycoupled to the chat controller 110. The example chat database 112 storeschat consumer authentication information (e.g., usernames and passwords,network addresses, etc.) and/or chat buddy list information (e.g.,usernames and/or aliases of other consumers that a consumer haspre-selected). The example chat database 112 receives queries forinformation from the chat controller 110 and returns the requestedinformation to the controller 110. In the illustrated example, the chatdatabase 112 is connected directly to the chat controller 110. However,the chat database 112 may alternatively be connected to the network 106.

The chat database 112 may be integrated with any other availabledatabase or data source. For example, the chat database 112 may beintegrated with the customer profile database 118. The chat database 112may be implemented using any type of data storage device such as, forexample, a standalone database server, a database integrated with thechat controller 110, a file stored on a storage device of the chatcontroller 110, a file stored on a file server, etc. and may implementany suitable database structure such as, for example, a structured querylanguage (SQL) database.

The content information database 114 of the illustrated example storeskeyword and content information (e.g., a title, a synopsis, a list ofcharacters, a list of producers, etc.) associated with media content.For example, a media content program may be associated with a serialnumber. In the illustrated example, when the media content programcreator transmits the media content program and the serial number to thecontent distributor 108, the media content creator may also providekeywords and content information associated with the media contentprogram. The example content information database 114 stores the serialnumber of the media content program and associates the serial numberwith the keywords and content information supplied by the media contentprogram creator. Later, if a receiver 104 sends a request, the keywordsand/or content information associated with a media content program beingconsumed at the display device 102 are provided. In the illustratedexample, the choice of keywords is at the discretion of the mediacontent creator. Alternatively, the keywords associated with mediacontent may be selected by the content distributor 108. The keywords maybe associated with an advertisement displayed, a location or scenedisplayed, a topic discussed, a product displayed, discussed, and/orconsumed, a character or actor/actress, etc. The keywords mayadditionally be associated with time indications that indicate what timeduring a presentation of media content a keyword should be presented inresponse to a request. In other words, a request for information at afirst time would result in downloading of keywords associated with thefirst time, but not keywords associated with a second time and viceversa. The keywords may be any type of information (and may or may notbe associated with media content) such as, for example, descriptions,titles, the name of products featured, identifiers associated withproducts, advertisements, links to other programming, etc.

The content information database 114 may be integrated with any otheravailable database or data source. For example, the content informationdatabase 114 may be integrated with the supplemental database 116. Thecontent information database 114 may be implemented using any type ofdata storage device such as, for example, a standalone database server,a database integrated with the content distributor 108, a file stored ona storage device of the content distributor 108, a file stored on a fileserver, etc. and may operate any kind of database including, for examplean SQL database.

The supplemental database 116 of the illustrated example storesinformation associated with keywords/identifiers stored in the contentinformation database 114. After retrieving a list of one or morekeywords from the content information database 114, the receiver 104 ofthe illustrated example is structured to utilize one or more of thosekeywords to retrieve supplemental information from the supplementaldatabase 116 for display using an electronic agent. One exampleimplementation of the supplemental database 116 is the database for theYELLOWPAGES.COM® business directory. The supplemental database 114 maystore any information. Any information may then be presented by thereceiver 104 using an electronic agent. For example, the supplementaldatabase 114 may store biographical information about one or morecharacter(s) and/or actor(s)/actress(es), information about a locationdepicted in media content, information about a product depicted in themedia content, information (e.g., information such as a local physicaladdress, an internet address, a phone number, etc.) about a businessthat manufactures a depicted product, a product review (e.g., a reviewfrom Consumer Reports® or a similar entity) for a product shown in themedia content, etc.

The supplemental database 116 may be integrated with any other availabledatabase or data source. For example, the supplemental database 116 maybe integrated with the content information database 114. Thesupplemental database 116 may be implemented using any type of datastorage device such as, for example, a standalone database server, adatabase integrated with the content distributor 108, a file stored on astorage device of the content distributor 108, a file stored on a fileserver, etc. using, for example, any kind of database such as, forexample, an SQL database.

The customer profile database 118 of the illustrated example storesinformation about consumers using the receiver 104 and other receiversconnected to the network 106. For example, the customer profile database118 may store preferences regarding display of an electronic agent(e.g., whether or not a consumer would like the electronic agent to bedisplayed), preferences regarding media content (e.g., information aboutwhat type of media content a consumer prefers), etc. In addition, thecustomer profile database 118 may also store buddy list informationassociated with consumers.

The customer profile database 118 may be integrated with any otheravailable database or data source. For example, the customer profiledatabase 118 may be integrated with the chat database 112. The customerprofile database 118 may be implemented using any type of data storagedevice such as, for example, a standalone database server, a databaseintegrated with the receiver 104, a file stored on a storage device ofthe receiver 104, a file stored on a file server, etc and using any typeof database structure such as, for example, an SQL database.

FIG. 2 is a block diagram of an example implementation of the receiver104 of FIG. 1. The example receiver 104 includes a content receiver 202,a content monitor 204, a content recognition database 206, an audiodetector 208, a keyword handler 210, a content information databaseinterface 212, a supplemental database interface 214, a consumercustomizer 216, a customer profile database interface 218, an agentgenerator 220, and an on-screen display generator 222.

The content receiver 202 of the illustrated example receives mediacontent from the network 106 of FIG. 1. The content receiver 202includes network communication circuitry and media decryption anddecoding circuitry. The example content receiver 202 transmits receivedmedia content to the content monitor 204 and to the on-screen displaygenerator 222.

The content monitor 204 of the illustrated example determines theidentity of media content received from the content receiver 202. Theexample content monitor 204 utilizes media content informationtransmitted with the media content to determine the identity of themedia content. For example, a serial number may be inserted in a contentidentification field in the header and/or a payload of media contentpackets. Additionally or alternatively, additional information (e.g.,program title, description, characters) may be included in the mediacontent header or in the payload of the media content packets. Thecontent monitor 204 extracts the information and transmits theinformation to the keyword handler 210. Alternatively, if media contentdoes not include identifying information, the example content monitor204 uses information stored in the content recognition database 206 andthe audio detector 208 to identify the media content. For example, theaudio detector 208 may monitor audio output by the display device 102 ofFIG. 2 and transmit the audio to the content monitor 204. The contentmonitor 204 will compare the audio to samples of audio in the contentrecognition database 206. If the audio matches an audio sample, thecontent monitor 204 will determine that the media content associatedwith the audio sample is being presented. The forgoing methods of mediacontent recognition examples and any available or newly developedmethods and apparatus for media content recognition may be used.Additionally or alternatively, the content monitor 204 may monitor themedia content to recognize information that should be handled by anelectronic agent. For example, the audio detector 208 may monitor forthe name of a product to be output by the display device 102 of FIG. 1.

The content information database interface 212 of the illustratedexample communicatively couples the receiver 104 and the contentinformation database 114. The example content information databaseinterface 212 is capable of creating and/or forwarding requests forinformation from the content information database 114 and of receivinginformation from the content information database 114. While the contentinformation database interface 212 is illustrated as a discretecomponent, the content information database interface 212 mayalternatively be implemented in conjunction with a single networkinterface for the receiver 104 and/or integrated with the supplementaldatabase interface 214 and/or the customer profile database interface218.

The supplemental information database interface 214 of the illustratedexample communicatively couples the receiver 104 and the supplementalinformation database 116. The example supplemental information databaseinterface 214 is capable of creating and/or forwarding requests forinformation from the supplemental information database 116 and ofreceiving information from the supplemental information database 116.While the supplemental information database interface 214 is illustratedas a discrete component, the supplemental information database interface214 may alternatively be implemented in conjunction with a singlenetwork interface for the receiver 104 and/or integrated with thecontent information database interface 212 and/or the customer profiledatabase interface 218.

The keyword handler 210 of the illustrated example receives identifyinginformation associated with media content from the content monitor 204and, in conjunction with the content information database interface 212and the supplemental information database interface 214, retrievesinformation associated with the media content. In particular, thekeyword handler 210 utilizes the identifying information to retrievekeyword information via the content information database interface 212.After receiving the keywords, the keyword handler 210 retrievesinformation associated with the keywords via the supplemental databaseinterface 214. The keyword handler 210 transmits the informationretrieved from the supplemental information database 116 to the consumercustomizer 216.

The example consumer customizer 216 receives the information retrievedfrom the supplemental information database interface 214 and thecustomer profile information received via the customer profile databaseinterface 218, and performs any desired customization to the informationassociated with the media content. For example, the consumer customizer216 may select among multiple selections of information to chooseinformation that is most closely associated with a consumer'spreferences, geographic location, etc. For example, if the consumercustomizer 216 receives information for pizza delivery and Chinese fooddelivery, the consumer customizer 216 may determine, based oninformation received via the customer profile database interface 218,that the customer would prefer information about pizza delivery.Additionally or alternatively, the example consumer customizer 216 mayselect information for a consumer based on objective criteria such asgeographic location. For example, the consumer customizer 216 may selecta pizza delivery business that is located near a consumer's physical(e.g., street) address. The consumer customizer 216 may transmitcustomer profile information to the keyword handler 210 so that thekeyword handler 210 can retrieve information associated with thecustomer profile information. In the illustrated example, the consumercustomizer 216 transmits the customized information associated withmedia content to the agent generator 220.

The customer profile database interface 218 of the illustrated examplecommunicatively couples the receiver 104 and the customer profiledatabase 118. The example customer profile database interface 218 iscapable of creating and/or forwarding requests for information to thecustomer profile database 118 and of receiving information from thecustomer profile database 118. While the customer profile databaseinterface 218 is illustrated as a discrete component, the customerprofile database interface 218 may alternatively be implemented inconjunction with a single network interface for the receiver 104 and/orintegrated with the content information database interface 212 and/orthe supplemental database interface 214.

The agent generator 220 of the illustrated example receives thecustomized information associated with media content from the consumercustomizer 216 and generates an electronic agent for output by thereceiver 104. In the illustrated example, the agent generator 220generates an animation character that presents the customizedinformation. For example, the agent generator 220 may render an animatedof a man with a speech bubble that contains the customized information.In addition, the agent generator 220 may generate audio sound effects orspoken words corresponding to the customized information. The agentgenerator 220 transmits the generated electronic agent to the on-screendisplay generator 222. Persons of ordinary skill in the art willrecognize that the agent generator 220 may be alternatively implementedby other devices connected to the network 106. For example, the agentgenerator 220 may be integrated with the content distributor 108. In oneimplementation of this example, the receiver 104 requests that thecontent distributor 108 generate an electronic agent for a particularmedia content. The content distributor 108 retrieves necessaryinformation, generates an electronic agent, and transmits the electronicagent to the receiver 104 for display on the display device 102.

The on-screen display generator 222 receives the generated electronicagent and the media content received by the content receiver 202 andcombines them for display on the display device 102 of FIG. 1. Forexample, the generated electronic agent may be a man with a speechbubble having a transparent background. The on-screen display generator222 of the illustrated example overlays the man with the speech bubbleon the media content (e.g., interactive television media content). Inaddition, the on-screen display generator 222 may generate a backgroundfor display behind the electronic agent and/or may display textinformation on the screen. The example on-screen display generator 222also renders user input controls to allow the consumer to interact withthe generated electronic agent. For example, the on-screen displaygenerator 222 may generate a button that a consumer can select torequest more information about a product for which the electronic agentis presenting information. The on-screen display generated by theon-screen display generator 222 is transmitted to the display device 102of FIG. 1 and/or to any other attached device for display.

FIG. 3 is an illustration of an example display device 102 displayingmedia content 304 with electronic agent information overlaid (e.g., adisplay bar 306, a character 308, a speech bubble 310, text 312, and abutton 314). The media content 304 and electronic agent information arereceived from the receiver 104 of FIG. 1 as explained above.

In the illustrated example, the media content 304 is an advertisementfor a pizza restaurant. In the illustrated example, the display of themedia content 304 is adjusted to fit the display bar 306. Alternatively,the media content may be displayed behind the display bar 306 such ashow the media content is displayed behind the speech bubble 310. Themedia content 304 may be any media content that can be identified by thereceiver 104 of FIG. 1.

The example display bar 306 is an opaque image that is displayed in thelower portion of the television 102. The display bar 306 provides abackground to allow the electronic agent to be distinguished from themedia content 304. Of course, in alternative implementations it may notbe desirable for the electronic agent to be distinguished from the mediacontent 304 and, accordingly, the display bar 306 may not be displayed.

The example character 308 is illustrated as an image of a person. Theexample character 308 is an animated character that moves around thescreen (e.g., walking, flying, running, hiding behind the display bar306, hiding at the edges of the screen of the television 102, etc.). Aspreviously described, the character 308 may be any type of displayedimage and may be animated or not animated.

The example speech bubble 310 displays text as if it were spoken by thecharacter 308. In addition to displaying the speech bubble 310, thereceiver 104 may additionally or alternatively cause the television 102to present spoken audio of the words shown in the speech bubble 310. Thespeech bubble 310 may be used to get the attention of a consumer, toconvey some information to a consumer, etc.

The example text 312 displays information to consumers. In theillustrated example, the text 312 provides localized information about anational pizza restaurant that is near the consumer. In addition, thetext 312 provides information about a special ordering deal that isavailable to consumers viewing the electronic agent. The text 312 maynot be displayed if all information to be presented is displayed in thespeech bubble 310 or presented as audio.

The example button 314 allows a user to interact with the electronicagent. In the illustrated example, the button 314 allows a user torequest further information regarding information presented by thecharacter 308, the speech bubble 310, and/or the text 312.Alternatively, the button 314 may allow a user to request that a phonecall be initiated between the consumer and the pizza restaurant/deliveryfranchise. For example, if the receiver 104 includes telecommunicationscapabilities (e.g., voice over internet protocol (VoIP) communications,public switched telephone network (PSTN) communications, etc.), thereceiver 104 will initiate a phone call with the pizzarestaurant/delivery franchise and then cause the consumer's telephone toring with the same connection. The button 314 may alternatively beimplemented as a form that allows the user to input information (e.g.,using a remote control or a keyboard), as a voice activated input (e.g.,a message is displayed on the screen requesting the user to speak theinput), etc. The button 314 may allow consumers to respond to a votingrequest, respond to a survey, purchase products using electroniccommerce, participate in an interactive television program, etc.

A flowchart representative of example machine readable instructions forimplementing the system 100 of FIG. 1 is shown in FIGS. 4-8. In theexample flowcharts, the machine readable instructions comprise a programfor execution by a processor such as the processor 912 shown in theexample computer 900 discussed below in connection with FIG. 9. Theprogram may be embodied in software stored on a tangible medium such asa CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD),or a memory associated with the processor 912, but persons of ordinaryskill in the art will readily appreciate that the entire program and/orparts thereof could alternatively be executed by a device other than theprocessor 912 and/or embodied in firmware or dedicated hardware in awell-known manner. For example, any or all of the receiver 104, thecontent distributor 108, the chat controller 110, the content receiver202, the content monitor 204, the audio detector 208, the keywordhandler 210, the consumer customizer 216, the agent generator 220, andthe on-screen display generator 222 could be implemented by software,hardware, and/or firmware. Further, although the example program isdescribed with reference to the flowcharts illustrated in FIGS. 4-8,persons of ordinary skill in the art will readily appreciate that manyother methods of implementing the system 100 may alternatively be used.For example, the order of execution of the blocks may be changed, and/orsome of the blocks described may be changed, eliminated, or combined.

FIG. 4 is a flowchart representative of example machine readableinstructions for implementing the receiver 104 of FIG. 1. The machinereadable instructions of FIG. 4 begin when the content receiver 202 ofthe receiver 104 of FIG. 1 receives media content from the network 106(block 402). The content monitor 204 then determines the identity of thereceived media content (block 404). The content monitor 204 or thekeyword handler 210 then determines if the determination of the identityof the received media content is successful (block 406). If thedetermination of the identity of the received media content is notsuccessful (block 406), then the audio detector 208 monitors the audiooutput by the display device 102 to identify the media content (block408).

If the determination of the media content is successful (block 406) orafter the audio detector 208 identifies the media content (block 408),the keyword handler 210 retrieves the keywords associated with theidentified media content via the content information database interface212 (block 410). When the keywords are received, the keyword handler 210uses the keywords to query the supplemental information database 116 viathe supplemental database interface 214 (block 412). When thesupplemental information is received, the consumer customizer 216retrieves customer profile information via the customer profile database218 and customizes the information retrieved by the keyword handler 210(block 414). Next, the agent generator 220 generates the electronicagent using the customized information from the consumer customizer 216(block 416). The electronic agent and/or the media content is thenpresented on the display device 102 by the on-screen display generator222 (block 418).

After presenting the electronic agent, the receiver 104 determines if aconsumer has requested further information from the electronic agent(block 420). If the consumer does not request further information,control returns to block 402 to continue monitoring for keywords. If theconsumer does request further information, the receiver 104 communicateswith the network 106 to handle the request and/or present furtherinformation. Then, control returns to block 402 to continue monitoringfor keywords.

FIG. 5 is a flowchart of example machine readable instructions that maysupplement the machine readable instructions illustrated in FIG. 4. Inparticular, blocks 510-520 may be substituted for blocks 410-422, mayexecute simultaneously with blocks 410-422, may execute after blocks410-422, or may execute before blocks 410-422. After the content monitor204 determines the identity of media content received from the contentreceiver 202, the consumer customizer 216 requests a buddy listassociated with a consumer of the media content (block 510). Theconsumer customizer 216 may request the buddy list via the customerprofile database interface 218, which may request the buddy list fromthe chat controller 110 and the chat database 112 or the customerprofile database 118. Alternatively, the consumer customizer 216 mayutilize a buddy list that is stored at the receiver 104.

The consumer customizer 216 then queries the chat controller 110 todetermine if another consumer on the retrieved buddy list is consumingmedia content associated with the media content at the receiver 104(block 512). For example, the other consumer may be consuming the samemedia content as the receiver 104 is presenting. If none of theconsumers on the retrieved buddy list are consuming media contentassociated with the media content at the receiver 104, the machinereadable instructions return to processing received media content (e.g.,control returns to block 402 to continue monitoring for keywords.

If the chat controller 110 indicates that one or more of the consumerson the buddy list are watching media content associated with the mediacontent at the receiver 104, the agent generator 220 determines if achat session should be initiated (block 514). For example, the agentgenerator 220 presents a chat confirmation message on the display device102. The chat confirmation message may present a message box requestingthe consumer's confirmation to initiate a chat session. In addition, theagent generator 220 may determine how much time has elapsed since thelast chat confirmation message was displayed. If the elapsed time isbelow a predetermined threshold the agent generator 220 may use theuser's most recent answer (e.g., the user selected to not start a chatless than 30 seconds ago) in determining whether to initiate a chatsession. The consumer customizer 216 then determines if the consumerconfirmed the chat initiation (block 516). If the consumer does notconfirm the chat initiation after a predetermined time period (e.g., 20seconds), the machine readable instructions return to processingreceived media content (e.g., control returns to block 402 to continuemonitoring for keywords. Additionally, the agent generator 220 maycontinue to present a chat confirmation periodically.

If the consumer confirms the chat initiation (block 516), the consumercustomizer 216 requests that the chat controller 110 initiate a chatsession with the one or more consumers on the buddy list consuming mediacontent associated with the media content at the receiver 104 (block518). The agent generator 220 then presents a chat dialog box on thedisplay device 102 (block 520). The consumer then uses a keyboard or anyother input device to communicate in the chat dialog box. Then, themachine readable instructions return to processing received mediacontent (e.g., control returns to block 402 to continue monitoring forkeywords.

FIG. 6 is a flowchart representative of example machine readableinstructions for receiving media content at the content distributor 108of FIG. 1. The machine readable instructions of FIG. 6 begin when thecontent distributor 108 receives media content from a contentgenerator/creator (block 602). The content distributor 108 then receivesand/or generates keywords, identifiers, and/or supplemental informationfor the media content (block 604). The content distributor 108 thenstores the keywords, identifiers, and/or supplemental information in anappropriate database (e.g., a database connected to the network 106)(block 606). For example, the content distributor 108 may store keywordand/or identifier information in the content information database 114and supplemental information in the supplemental information database116. Control then returns to block 602 to continue receiving mediacontent.

FIG. 7 is a flowchart representative of example machine readableinstructions for sending media content to consumers from the contentdistributor 108 of FIG. 1. The machine readable instructions of FIG. 7begin when the content distributor 108 determines if a request for mediacontent has been received from the receiver 104 (block 702). If thecontent distributor 108 has not received a request for media content,the content distributor 108 continues to monitor for a request. If thecontent distributor 108 has received a request for media content (e.g.,a request to transmit media content, to allow the receiver 104 to join amulticast stream, etc.), the content distributor transmits the mediacontent and an associated identifier (e.g., serial number) to thereceiver 104 via the network 106 (block 704). Control then returns toblock 704 to continue monitoring for media content requests.

FIG. 8 is a flowchart representative of example machine readableinstructions for sending media content information to a consumerlocation. The machine readable instructions of FIG. 8 being when thecontent distributor 108 or any other device connected to the network 106determines if a request for media content information has been receivedfrom the receiver 104 (block 802). If the content distributor 108 hasnot received a request for media content information, the contentdistributor 108 continues to monitor for such a request. If the contentdistributor 108 has received a request for media content information,the content distributor 108 retrieves the requested information fromavailable database(s) (block 804). For example, the content distributor108 may retrieve keyword information from the content informationdatabase 114 and supplemental information from the supplemental database116. The content distributor 108 then transmits the requestedinformation to the receiver 104 for us in generating an electronic agent(block 806). Control then returns to block 802 to continue monitoringfor requests for media content information.

FIG. 9 is a block diagram of an example computer 900 capable ofexecuting the machine readable instructions represented by FIGS. 4-8 toimplement the apparatus and/or methods disclosed herein. The computer900 can be, for example, the receiver 104, the content distributor 108,the chat controller 110, the content receiver 202, the content monitor204, the audio detector 208, the keyword handler 210, the consumercustomizer 216, the agent generator 220, the on-screen display generator222 and/or any part thereof.

The system 900 of the instant example includes a processor 912 such as ageneral purpose programmable processor. The processor 912 includes alocal memory 914, and executes coded instructions 916 present in therandom access memory 918 and/or in another memory device. The processor912 may execute, among other things, the machine readable instructionsillustrated in FIGS. 4-8. The processor 912 may be any type ofprocessing unit, such as a microprocessor from the Intel® Centrino®family of microprocessors, the Intel® Pentium® family ofmicroprocessors, the Intel® Itanium® family of microprocessors, and/orthe Intel XScale® family of processors. Of course, other processors fromother families are also appropriate.

The processor 912 is in communication with a main memory including avolatile memory 918 and a non-volatile memory 920 via a bus 922. Thevolatile memory 918 may be implemented by Synchronous Dynamic RandomAccess Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUSDynamic Random Access Memory (RDRAM) and/or any other type of randomaccess memory device. The non-volatile memory 920 may be implemented byflash memory and/or any other desired type of memory device. Access tothe main memory 918, 920 is typically controlled by a memory controller(not shown) in a conventional manner.

The computer 900 also includes a conventional interface circuit 924. Theinterface circuit 924 may be implemented by any type of well-knowninterface standard, such as an Ethernet interface, a universal serialbus (USB), and/or a third generation input/output (3GIO) interface.

One or more input devices 926 are connected to the interface circuit924. The input device(s) 926 permit a user to enter data and commandsinto the processor 912. The input device(s) can be implemented by, forexample, a keyboard, a mouse, a touchscreen, a track-pad, a trackball,isopoint and/or a voice recognition system.

One or more output devices 928 are also connected to the interfacecircuit 924. The output devices 928 can be implemented, for example, bydisplay devices (e.g., a liquid crystal display, a cathode ray tubedisplay (CRT), a printer and/or speakers). The interface circuit 924,thus, typically includes a graphics driver card.

The interface circuit 924 also includes a communication device such as amodem or network interface card to facilitate exchange of data withexternal computers via a network (e.g., an Ethernet connection, adigital subscriber line (DSL), a telephone line, coaxial cable, acellular telephone system, etc.).

The computer 900 also includes one or more mass storage devices 930 forstoring software and data. Examples of such mass storage devices 930include floppy disk drives, hard drive disks, compact disk drives anddigital versatile disk (DVD) drives.

At least some of the above described example methods and/or apparatusare implemented by one or more software and/or firmware programs runningon a computer processor. However, dedicated hardware implementationsincluding, but not limited to, application specific integrated circuits,programmable logic arrays and other hardware devices can likewise beconstructed to implement some or all of the example methods and/orapparatus described herein, either in whole or in part. Furthermore,alternative software implementations including, but not limited to,distributed processing or component/object distributed processing,parallel processing, or virtual machine processing can also beconstructed to implement the example methods and/or apparatus describedherein.

It should also be noted that the example software and/or firmwareimplementations described herein are optionally stored on a tangiblestorage medium, such as: a magnetic medium (e.g., a magnetic disk ortape); a magneto-optical or optical medium such as an optical disk; or asolid state medium such as a memory card or other package that housesone or more read-only (non-volatile) memories, random access memories,or other re-writable (volatile) memories; or a signal containingcomputer instructions. A digital file attached to e-mail or otherinformation archive or set of archives is considered a distributionmedium equivalent to a tangible storage medium. Accordingly, the examplesoftware and/or firmware described herein can be stored on a tangiblestorage medium or distribution medium such as those described above orsuccessor storage media.

Although this patent discloses example systems including software orfirmware executed on hardware, it should be noted that such systems aremerely illustrative and should not be considered as limiting. Forexample, it is contemplated that any or all of these hardware andsoftware components could be embodied exclusively in hardware,exclusively in software, exclusively in firmware or in some combinationof hardware, firmware and/or software. Accordingly, while the abovespecification described example systems, methods and articles ofmanufacture, persons of ordinary skill in the art will readilyappreciate that the examples are not the only way to implement suchsystems, methods and articles of manufacture. Therefore, althoughcertain example methods, apparatus and articles of manufacture have beendescribed herein, the scope of coverage of this patent is not limitedthereto. On the contrary, this patent covers all methods, apparatus andarticles of manufacture fairly falling within the scope of the appendedclaims either literally or under the doctrine of equivalents.

What is claimed is:
 1. A method comprising: receiving, via a processor,a media for presentation via a display device associated with a firstconsumer; determining, via the processor, content information of themedia; retrieving, via the processor in response to the contentinformation of the media, a buddy list including at least one secondconsumer; and presenting, via the processor, an electronic agent on thedisplay device to present an option to setup a chat session with the atleast one second consumer.
 2. The method of claim 1, wherein the contentinformation including at least one keyword is further used to access afirst database to retrieve at least one advertisement associated withthe at least one keyword, and the presenting includes presenting the atleast one advertisement.
 3. The method of claim 2, wherein the at leastone advertisement comprises a first advertisement and a secondadvertisement, wherein the presenting the at least one advertisementselects either the first advertisement or the second advertisement basedon a proximity of a first business represented in the firstadvertisement or a second business represented in the secondadvertisement that is closest to a location identified in user profileinformation of the first consumer.
 4. The method of claim 1, wherein theelectronic agent is an animated character displayed on the displaydevice.
 5. The method of claim 1, wherein the media is an internetprotocol television program.
 6. The method of claim 2, furthercomprising: receiving a user input to retrieve additional informationassociated with the at least one advertisement that is presented.
 7. Themethod of claim 6, wherein the additional information is received fromthe first database.
 8. The method of claim 7, wherein the first databaseis maintained by a content distributor of the media.
 9. The method ofclaim 7, wherein the first database is maintained locally with theprocessor.
 10. The method of claim 2, wherein the at least oneadvertisement is presented as a visual presentation or an audiblepresentation.
 11. The method of claim 1, wherein the content informationincludes at least one of: information about an entity associated withthe media, information about a location depicted in the media,information about a character depicted in the media, or a product reviewassociated with a product depicted in the media.
 12. The method of claim1, further comprising: receiving an input from the first consumer toinitiate the chat session; and sending a request to a chat controller toinitiate the chat session.
 13. A device comprising: a processing systemincluding at least one processor; and a computer-readable medium storinginstructions which, when executed by the processing system, cause theprocessing system to perform operations, the operations comprising:receiving a media for presentation via a display device associated witha first consumer; determining content information of the media;retrieving, in response to the content information of the media, a buddylist including at least one second consumer; and presenting anelectronic agent on the display device to present an option to setup achat session with the at least one second consumer.
 14. The device ofclaim 13, wherein the content information including at least one keywordis further used to access a first database to retrieve at least oneadvertisement associated with the at least one keyword, and thepresenting includes presenting the at least one advertisement.
 15. Thedevice of claim 14, wherein the at least one advertisement comprises afirst advertisement and a second advertisement, wherein the presentingthe at least one advertisement selects either the first advertisement orthe second advertisement based on a proximity of a first businessrepresented in the first advertisement or a second business representedin the second advertisement that is closest to a location identified inuser profile information of the first consumer.
 16. The device of claim13, wherein the electronic agent is an animated character displayed onthe display device.
 17. The device of claim 14, the operations furthercomprising: receiving a user input to retrieve additional informationassociated with the at least one advertisement that is presented. 18.The device of claim 13, wherein the content information includes atleast one of: information about an entity associated with the media,information about a location depicted in the media, information about acharacter depicted in the media, or a product review associated with aproduct depicted in the media.
 19. The device of claim 13, theoperations further comprising: receiving an input from the firstconsumer to initiate the chat session; and sending a request to a chatcontroller to initiate the chat session.
 20. A non-transitorycomputer-readable medium storing instructions which, when executed by aprocessing system including at least one processor, cause the processingsystem to perform operations, the operations comprising: receiving amedia for presentation via a display device associated with a firstconsumer; determining content information of the media; retrieving, inresponse to the content information of the media, a buddy list includingat least one second consumer; and presenting an electronic agent on thedisplay device to present an option to setup a chat session with the atleast one second consumer.